Delivery of feedback information to scheduling service to determine optimum broadcast times based upon client platform tuner contention

ABSTRACT

Delivery of feedback information to a scheduling service to determine optimum broadcast times based upon client platform tuner contention is described. A usage pattern of an electronic media device is recorded. The usage pattern is communicated to a scheduling server. Media content is received during a time period selected by the scheduling server based upon the usage pattern.

FIELD OF THE INVENTION

[0001] The field of the invention relates to interactive media devicesin general and to using feedback information to determine an optimaltime period for broadcasting data to an unutilized media receiver inparticular.

BACKGROUND

[0002] Interactive television services provide a television viewer withthe ability to view television programs in ways that they could not beviewed using only a state of the art television. Such services typicallyrequire the purchase of a special digital video receiver as well as asubscription to the service itself. The service powers the digital videoreceiver and uses phone lines to provide information and software neededto deliver special interactive TV features. These features include theability to manipulate TV programs by pausing, rewinding or instantlyreplaying a portion of the broadcast, without missing succeeding action.The digital video receiver may also be equipped with a memory toremember a viewer's favorite television show and automatically make adigital recording of the program each time it airs. The service mayprovide a digital recorder that stores up to 30 hours of TV programming.

[0003] Additionally, a state of the art interactive television servicemay allow viewers to receive Internet content and services while alsoviewing television. The service may also offer a device equipped withtwo tuners for simultaneously recording two television programs.

[0004] However, despite all of the benefits of state of the artinteractive television services, the potential for broadcasting mediacontent to viewers is not optimized. Existing devices dedicate a digitalvideo receiver to view real-time broadcast programs and do not takeadvantage of time periods during which the receiver resources areunutilized to receive content that can be stored and viewed at a latertime.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 is a diagram illustrating a system-level overview of oneembodiment of the invention.

[0006]FIG. 2 is a diagram illustrating a system-level overview ofanother embodiment of the invention.

[0007]FIG. 3 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 1, from a client-sideperspective.

[0008]FIG. 4 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 1, from a server-sideperspective.

[0009]FIG. 5 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 2, from a client-sideperspective.

[0010]FIG. 6 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 2, from a server-sideperspective.

[0011]FIG. 7 is a diagram of an operating environment suitable forpracticing the present invention.

[0012]FIG. 8 is a diagram of a computer readable media, which may beused within an operating environment, such as the operating environmentof FIG. 7, according to one embodiment of the present invention.

DETAILED DESCRIPTION

[0013] Delivery of feedback information to a scheduling service todetermine optimum broadcast times based upon client platform tunercontention is described. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the invention. However, it will be apparentto one with ordinary skill in the art that these specific details neednot be used to practice the present invention. In other instances,well-known structures and devices are shown in block diagram form inorder to avoid unnecessarily obscuring the present invention.

[0014] A usage pattern of an electronic media device is recorded. Theusage pattern is communicated to a scheduling server. Media content isreceived during a time period selected by the scheduling server basedupon the usage pattern. By using tuner contention feedback information,i.e. by determining when a tuner is not regularly being utilized and bybroadcasting media content to the tuner (“receiver”) during that timeperiod, utilization of the available electronic media resources may beoptimized.

[0015] It will be appreciated by one of skill in the art that the term“broadcasting” includes broadcasting of television content, but theinvention is not so limited. The term “broadcasting” also includes“datacasting” which is the broadcasting of any form of data. Datacastingincludes the transmission of various kinds of data as a secondaryservice on a digital broadcasting network. Such a network can beterrestrial, satellite or cable. The “data” can be information,interactive multimedia (including video), or Internet downloads, but theinvention is not so limited.

[0016]FIG. 1 is a diagram illustrating a system-level overview of oneembodiment of the invention. Electronic media device 110 iscommunicatively coupled to client device 120. Electronic media device110 may be a television, an audio receiver, or a digital processingsystem, but the invention is not so limited. Client device 120 may be aset top box, or other electronic device. A set top box is a box thatnominally sits in close proximity to a television set and is theinterface between the home television and a media service provider, suchas, for example, a cable MSO (multiple system operator). Client device120 records a usage pattern of the electronic media device 110 by a userand communicates the usage pattern to scheduling server 130. Thescheduling server 130, communicatively coupled to the client device 120to receive the usage pattern from the client device 120, calculates anoptimal schedule for broadcasting media content to the client device 120based upon the usage pattern.

[0017] In one embodiment the optimal schedule comprises a time periodhaving a pre-defined likelihood of the client device being capable ofreceiving the media content. In another embodiment the optimal schedulecomprises a time period calculated by the scheduling server to have apre-defined likelihood that the client device is not being used to viewor record real-time broadcast media content.

[0018] In yet another embodiment, communication between client device120 and scheduling server 130 occurs over a back channel. In stillanother embodiment the back channel may be implemented by an analogmodem, a digital modem, or a DOCSIS cable modem, but the invention isnot so limited.

[0019]FIG. 2 is a diagram illustrating a system-level overview ofanother embodiment of the invention. Scheduling server 130 iscommunicatively coupled to media broadcast device 210 to broadcast themedia content to the client device 120. In another embodiment, mediabroadcast device 210 is a component of the scheduling server 130.

[0020] In yet another embodiment, the client device 120 iscommunicatively coupled to media storage device 220 to store mediacontent that has been broadcasted for usage by the electronic mediadevice 110. In still another embodiment, the media storage device 220 isa component of client device 120.

[0021]FIG. 3 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 1, from a client-sideperspective. At block 310, a usage pattern of an electronic media deviceis recorded. In one embodiment, the usage pattern comprises a day ofuse, a time of use, and elapsed time of use, but the invention is not solimited. The usage pattern may also include information such as channelselection during a time of use, an audio volume adjustment during a timeof use, and whether a program was recorded during a time of use. Atblock 320, the usage pattern is communicated to a scheduling server. Atblock 330, media content is received during a time period selected bythe scheduling server based upon the usage pattern.

[0022] In one embodiment the usage pattern comprises a pattern ofinteraction by a user with the electronic media device. Such interactionmay include turning the device on or off, changing the channel orfrequency of the device, adjusting the volume of the device, orrecording data with the device, but the invention is not so limited. Inanother embodiment, an interaction of the user with the electronic mediadevice is not communicated to the scheduling server if a duration oftime between the interaction and an immediately previous interactionexceeds a pre-defined duration. For example, if a television viewer didnot have any interaction with the television, such as changing thechannel, for a set period of time, such as for example, a six-hourperiod, then the last interaction will be removed from the usagepattern.

[0023]FIG. 4 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 1, from a server-sideperspective. At block 410, the usage pattern of the electronic mediadevice is received at the scheduling server. At block 420, thescheduling server calculates an optimal schedule for broadcasting mediacontent based upon the usage pattern. In one embodiment, the optimalschedule comprises a time period having a pre-defined likelihood of areceiving device coupled to the electronic media device being capable ofreceiving the media content. In another embodiment, the electronic mediadevice is capable of receiving the media content when its receiverresources are unutilized by real-time or other use by the user.

[0024]FIG. 5 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 2, from a client-sideperspective. At block 510, a usage pattern of an electronic media deviceis recorded. At block 520, the usage pattern is communicated to ascheduling server. At block 530, media content is received during a timeperiod selected by the scheduling server based upon the usage pattern.At block 540, the media content is stored for use by the electronicmedia device. In one embodiment the media content may be temporarilystored in a cache memory. At block 550, the usage pattern is purgedafter the usage pattern has been communicated to the scheduling server.It will be appreciated that any of the blocks 510, 520, 530, 540 and/or550 may be repeated for extended operation of the invention. The usagepattern may be refined through repeating the blocks.

[0025]FIG. 6 is a flow diagram of a method to be performed according tothe embodiment of the invention in FIG. 2, from a server-sideperspective. At block 610 a usage pattern of an electronic media deviceis received at a scheduling server. At block 620 the optimal schedulefor broadcasting the media content is calculated by the schedulingserver based upon the usage pattern. At block 630, the media content isbroadcast. At block 640, the usage pattern is stored at the schedulingserver.

[0026]FIG. 7 shows one example of a typical computer system, which maybe used with the present invention. Note that while FIG. 7 illustratesvarious components of a computer system, it is not intended to representany particular architecture or manner of interconnecting the componentsas such details are not germane to the present invention. It will alsobe appreciated that network computers and other data processing systemswhich have fewer components or perhaps more components may also be usedwith the present invention.

[0027] As shown in FIG. 7, the computer system 701, which is a form of adata processing system, includes a bus 702 which is coupled to amicroprocessor 703 and a ROM 707 and volatile RAM 705 and a non-volatilememory 706. The microprocessor 703 is coupled to cache memory 704 asshown in the example of FIG. 7. The bus 702 interconnects these variouscomponents together and also interconnects these components 703, 704,705, and 706 to a display controller and display device 708 and toperipheral devices such as input/output (I/O) devices which may be mice,keyboards, modems, network interfaces, printers and other devices whichare well known in the art. The I/O devices may also include an interfaceor other device to implement a backchannel for communication betweenclient device 120 and scheduling server 130. Typically, the input/outputdevices 710 are coupled to the system through input/output controllers709. An analog or digital broadcast receiver 711 may be connected to bus702 to tune to broadcast channels and receive media content. Thevolatile RAM 705 is typically implemented as dynamic RAM (DRAM) whichrequires power continually in order to refresh or maintain the data inthe memory. The non-volatile memory 706 is typically a magnetic harddrive or a magnetic optical drive or an optical drive or a DVD RAM orother types of memory systems which maintain data even after power isremoved from the system. Typically, the non-volatile memory will also bea random access memory although this is not required. While FIG. 7 showsthat the non-volatile memory 706 is a local device coupled directly tothe rest of the components in the data processing system, it will beappreciated that the present invention may utilize a non-volatile memorywhich is remote from the system, such as a network storage device whichis coupled to the data processing system through a network interfacesuch as a modem or Ethernet interface. The bus 702 may include one ormore buses connected to each other through various bridges, controllersand/or adapters as is well known in the art. In one embodiment the I/Ocontroller 709 includes a USB (universal Serial Bus) adapter forcontrolling USB peripherals.

[0028] It will be apparent from this description that aspects of thepresent invention may be embodied, at least in part, inmachine-executable instructions, e.g. software. That is, the techniquesmay be carried out in a computer system or other data processing systemin response to its processor, such as a microprocessor, executingsequences of instructions contained in a memory, such as ROM 707,volatile RAM 705, non-volatile memory 706, cache 704 or a remote storagedevice. In various embodiments, hardwired circuitry may be used incombination with software instructions to implement the presentinvention. Thus, the techniques are not limited to any specificcombination of hardware circuitry and software nor to any particularsource for the instructions executed by the data processing system. Inaddition, throughout this description, various functions and operationsare described as being performed by or caused by software code tosimplify description. However, those skilled in the art will recognizewhat is meant by such expressions is that the functions result fromexecution of the code by a processor, such as the microprocessor 703.

[0029]FIG. 8 shows an example of a computer readable media, which may beused with the data processing system according to one embodiment of thepresent invention. The computer readable media contains data andexecutable software which when executed in the data processing systemsuch as a digital processing system cause the system to perform thevarious methods of the present invention. As noted above, thisexecutable software and data may be stored in various places includingfor example the ROM 707, the volatile RAM 705, the non-volatile memory706 and/or the cache 704. Portions of this software and/or data may bestored in any one of these storage devices. The media 801 for examplemay be primarily the volatile RAM 705 and the non-volatile memory 706 inone embodiment. The user applications 803 represent softwareapplications, which are executing on the computer system, such as a wordprocessing application or a spreadsheet application, an Internet webbrowser application, or a broadcast time feedback informationapplication. The operating system 807 includes the Open Firmwaresoftware 815 which may be stored in the ROM 707 and loaded into RAM 705at boot up. The hardware state software and hardware state value 811 isthe software which generates the hardware state value. The kernel code809 represents the kernel of the operating system and performs numeroustasks. The virtual memory manager software 821 controls the virtualmemory process. This typically involves maintaining a map of page datawhich represents the state of data in all the virtual memory whichincludes the physical RAM such as volatile RAM 705 and a portion of thenon-volatile memory 706 which has been designated as part of the virtualmemory of the system. The virtual memory manager software will beperforming conventional virtual memory processes as is known in the art.The power manager software 819 performs the various power managingoperations such as notifying applications and the system and drivers ofchanges to the power consumption state of the system. The software mayalso monitor the state of a computer battery to determine whethersufficient power exists to continue to operate and displays alerts tothe user indicating the status of the battery and the power status ofthe system. The disk operating system software 817 performs theconventional functions of a disk operating system. This typicallyincludes controlling the operation of a hard disk drive which in manyexamples is the non-volatile memory 706 which serves as a virtual memoryfor the volatile RAM 705.

[0030] It will be further appreciated that the instructions representedby the blocks in FIGS. 3-6 are not required to be performed in the orderillustrated, and that all the processing represented by the blocks maynot be necessary to practice the invention.

[0031] In the foregoing specification, the invention has been describedwith reference to specific exemplary embodiments thereof. It will beevident that various modifications may be made thereto without departingfrom the broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

What is claimed is:
 1. A method comprising: recording a usage pattern ofan electronic media device; communicating the usage pattern to ascheduling server; and receiving media content during a time periodselected by the scheduling server based upon the usage pattern.
 2. Themethod of claim 1, further comprising storing the media content for useby the electronic media device.
 3. The method of claim 1, wherein therecording is comprised of recording at least one of the group consistingof: day of use; time of use; and elapsed time of use.
 4. The method ofclaim 1, wherein the usage pattern comprises a pattern of interaction bya user with the electronic media device.
 5. The method of claim 4,wherein the pattern of interaction comprises at least one of the groupconsisting of: turning the electronic media device on or off; adjustingthe channel or frequency of the electronic media device; adjusting thevolume of the electronic media device; and recording data with theelectronic media device.
 6. The method of claim 4, wherein aninteraction of the user with the electronic media device is notcommunicated to the scheduling server if a duration of time between theinteraction and an immediately previous interaction exceeds a predefinedduration.
 7. The method of claim 1, wherein the time period selected bythe scheduling server is a time period calculated by the schedulingserver to have a predefined likelihood that the client device is notbeing used by a user to receive real-time broadcast media content. 8.The method of claim 1, wherein the electronic media device is selectedfrom the group consisting of: a television (TV); an audio receiver; anda digital processing system.
 9. The method of claim 1, furthercomprising purging the usage pattern that has been recorded after theusage pattern has been communicated to the scheduling server.
 10. Amethod comprising: receiving a usage pattern of an electronic mediadevice at a scheduling server; and calculating in the scheduling serveran optimal schedule in which to broadcast media content based upon theusage pattern.
 11. The method of claim 10, further comprisingbroadcasting the media content.
 12. The method of claim 10, wherein theoptimal schedule comprises a time period having a pre-defined likelihoodof a receiving device communicatively coupled to the electronic mediadevice being able to receive the media content.
 13. The method of claim10, wherein the electronic media device is selected from the groupconsisting of: a television (TV); an audio receiver; and a digitalprocessing system.
 14. The method of claim 10, further comprisingstoring the usage pattern at the scheduling server.
 15. A methodcomprising: recording a usage pattern of an electronic media device;communicating the usage pattern to a scheduling server; receiving theusage pattern at the scheduling server; calculating in the schedulingserver an optimal schedule in which to broadcast media content basedupon the usage pattern; and receiving media content during a time periodselected by the scheduling server based upon the usage pattern.
 16. Themethod of claim 15, further comprising broadcasting the media content.17. The method of claim 15, further comprising storing the usage patternat the scheduling server.
 18. The method of claim 15, further comprisingstoring the media content for use by the electronic media device.
 19. Anapparatus comprising: a client device communicatively coupled to anelectronic media device to record a usage pattern of the electronicmedia device by a user and to communicate the usage pattern to ascheduling server; and the scheduling server communicatively coupled tothe client device to receive the usage pattern from the client device,and to calculate an optimal schedule in which to broadcast media contentto the client device based upon the usage pattern.
 20. The apparatus ofclaim 19, further comprising a media broadcast device communicativelycoupled to the scheduling server to broadcast the media content to theclient device.
 21. The apparatus of claim 20, wherein the mediabroadcast device is a component of the scheduling server.
 22. Theapparatus of claim 19, further comprising a media storage devicecommunicatively coupled to the client device to store media content thathas been broadcasted for usage by the electronic media device.
 23. Theapparatus of claim 22, wherein the media storage device is a componentof the client device.
 24. The apparatus of claim 19, wherein theelectronic media device is selected from the group consisting of: atelevision (TV); an audio receiver; and a digital processing system. 25.The apparatus of claim 19, further comprising a backchannel tofacilitate communication between the client device and the schedulingserver.
 26. The apparatus of claim 25, wherein the backchannel isimplemented by at least one of the group consisting of: an analog modem;a digital modem; and a DOCSIS cable modem.
 27. The apparatus of claim19, wherein the optimal schedule comprises a time period having apre-defined likelihood of the client device being able to receive themedia content.
 28. The apparatus of claim 19, wherein the client deviceis a set-top box.
 29. A machine-readable medium having stored thereon aplurality of instructions, which if executed by a machine, cause themachine to perform a method comprising: recording a usage pattern of anelectronic media device; communicating the usage pattern to a schedulingserver; and receiving media content during a time period selected by thescheduling server based upon the usage pattern.
 30. The machine-readablemedium of claim 29, wherein the method further comprises storing mediacontent to be used by the electronic media device.
 31. Themachine-readable medium of claim 29, wherein the method furthercomprises purging the usage pattern that has been recorded after theusage pattern has been communicated to the scheduling server.
 32. Amachine-readable medium having stored thereon a plurality ofinstructions, which if executed by a machine, cause the machine toperform a method comprising: receiving a usage pattern of an electronicmedia device at a scheduling server; and calculating in the schedulingserver an optimal schedule in which to broadcast media content basedupon the usage pattern.
 33. The machine-readable medium of claim 32,wherein the method further comprises broadcasting the media content. 34.The machine-readable medium of claim 32, wherein the method furthercomprises storing the usage pattern at the scheduling server.
 35. Asystem comprising: a client device communicatively coupled to anelectronic media device to record a usage pattern of the electronicmedia device by a user and to communicate the usage pattern to ascheduling server; and the scheduling server communicatively coupled tothe client device to receive the usage pattern from the client device,and to calculate an optimal schedule in which to broadcast media contentto the client device based upon the usage pattern.
 36. The system ofclaim 35, further comprising a media broadcast device communicativelycoupled to the scheduling server to broadcast the media content to theclient device.
 37. The system of claim 35, further comprising a mediastorage device communicatively coupled to the client device to storemedia content that has been broadcasted for usage by the electronicmedia device.
 38. A system comprising: a processing unit: a memorycoupled to the processing unit through a bus; and a tuner contentionfeedback information communication process executed from the memory bythe processing unit to record and communicate a usage pattern of anelectronic media device to a scheduling server and to receive mediacontent during a time period selected by the scheduling server basedupon the usage pattern.
 39. The system of claim 38, wherein theelectronic media device is selected from the group consisting of: atelevision (TV); an audio receiver; and a digital processing system. 40.The system of claim 38, further comprising a backchannel interface tofacilitate communication between the client device and the schedulingserver over a backchannel.